package com.xbongbong.paas.connection.enums;

import lombok.Getter;

import java.util.ArrayList;
import java.util.List;

/**
 * 连接器标准联系方式
 * 创建时间 2021/8/17 2:06 PM
 * 修改时间 2021/8/17 2:06 PM
 * @author chy
 */
@Getter
public enum StandardPhoneTypeEnum {

	/**
	 *
	 */
	EMAIL("邮箱", "email"),
	MOBILE("手机", "mobile"),
	PHONE("座机", "phone"),
	WECHAT("微信", "wechat"),
	QQ("qq", "qq"),
	;

	/** 枚举信息--第三方应用中文名称 */
	private final String name;

	/** 枚举信息 --第三方应用英文名称，用于缓存及其他的地方的key*/
	private final String alias;

	/**
	 * 构造一个<code>StandardPhoneTypeEnum</code>枚举对象
	 * @param name
	 * @param alias
	 */
	private StandardPhoneTypeEnum(String name, String alias) {
		this.name = name;
		this.alias = alias;
	}

	/**
	 * 通过枚举<code>alias</code>获得枚举
	 *
	 * @param alias
	 * @return StandardPhoneTypeEnum
	 */
	public static StandardPhoneTypeEnum getByAlias(String alias) {
		for (StandardPhoneTypeEnum cacheCode : values()) {
			if (cacheCode.getAlias().equals(alias)) {
				return cacheCode;
			}
		}
		return null;
	}

	/**
	 * 获取全部枚举
	 *
	 * @return List<StandardPhoneTypeEnum>
	 */
	public List<StandardPhoneTypeEnum> getAllEnum() {
		List<StandardPhoneTypeEnum> list = new ArrayList<StandardPhoneTypeEnum>();
		for (StandardPhoneTypeEnum cache : values()) {
			list.add(cache);
		}
		return list;
	}

	/**
	 * 获取全部枚举值
	 *
	 * @return List<String>
	 */
	public List<String> getAllEnumAlis() {
		List<String> list = new ArrayList<String>();
		for (StandardPhoneTypeEnum cache : values()) {
			list.add(cache.getAlias());
		}
		return list;
	}

}
